#ifndef PICKING_DEVICE_H
#define PICKING_DEVICE_H

#include "controller.h"
#include "id_generator.h"

class PickingDevice
{
public:
  PickingDevice(Controller& c) : controller(c) {}
  typedef Vector3T<unsigned int> screen_pos_type;
  void pickingEvent(const screen_pos_type& pos)
  {
    controller.pickingEvent(elementAt(pos));
  }

  virtual IdGenerator::id_type elementAt(const screen_pos_type& pos) = 0;
private:
  Controller& controller;
};


#endif // PICKING_DEVICE_H
